package com.secsbrain.cloudconsole.biz;

import com.secsbrain.cloudconsole.dal.model.WorkSheet;
import com.baomidou.framework.service.ISuperService;
import com.baomidou.mybatisplus.plugins.Page;

/**
 *
 * WorkSheet 表数据服务层接口
 *
 */
public interface IWorkSheetService extends ISuperService<WorkSheet> {
	
	/**
	 * 功能描述: <br>
	 * 查询工单
	 *
	 * @param workSheet 工单参数
	 * @param appCode   应用编号
	 * @param roleCode  角色编号
	 * @param page
	 * @param limit
	 */
	Page<WorkSheet> queryWorkSheet(WorkSheet workSheet, String appCode, String roleCode, Integer page, Integer limit);
	
	/**
	 * 功能描述: <br>
	 * 查询工单详情
	 *
	 * @param workSheetId 工单ID
	 * @return
	 */
	WorkSheet queryWorkSheetDetail(Long workSheetId);
	
	/**
	 * 功能描述: <br>
	 * 创建工单
	 *
	 * @param workSheet
	 */
	void createWorkSheet(WorkSheet workSheet,String appCode);

	/**
	 * 功能描述: <br>
	 * 认领工单
	 *
	 * @param workSheetId
	 */
	void claimWorkSheet(Long workSheetId,String appCode);
	
	/**
	 * 功能描述: <br>
	 * 完成工单
	 *
	 * @param workSheetId  工单ID
	 * @param message      留言
	 */
	void finishWorkSheet(Long workSheetId,String message,String appCode);
	
	/**
	 * 功能描述: <br>
	 * 转移工单
	 *
	 * @param workSheetId 工单ID
	 * @param transferId  转移人ID
	 * 
	 */
	void transferWorkSheet(Long workSheetId,Long transferId,String appCode);
	
	/**
	 * 功能描述: <br>
	 * 关闭工单
	 *
	 * @param workSheetId
	 */
	void closeWorkSheet(Long workSheetId);
	
}